package com.jy.wms.dao;

import com.jy.wms.common.base.BaseDao;
import com.jy.wms.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * @ClassName: WmsProvinceRankingReportMapper.java
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @Author lqc
 * @Date Thu Mar 22 18:05:53 CST 2018
 */
public interface WmsProvinceRankingReportMapper extends BaseDao<WmsProvinceRankingReport> {

    /**
     * 定时保存数据一条记录
     *
     * @param entity 实体对象
     * @return int
     * id,sheng,ddlpm,ddl,ddlbfb,xse,xsezb
     */
    public Integer baseInsert(@Param("WmsProvinceRankingReport1") WmsProvinceRankingReport1 entity);

    /**
     * 直销省市排名（根据时间查询）
     *
     * @param start_time 开始时间
     * @param End_time 结束时间
     * @return list
     */
    public List<WmsProvinceRankingReport> baseselectbyprimarykey(@Param("start_time") String start_time, @Param("End_time") String End_time, @Param("hzid") String hzid, @Param("ckid") String ckid);

    /**
     * 直销省市排名（定时查询）
     *
     * @param date 时间
     * @return list
     */
    public List<WmsProvinceRankingReport1> baseselect(@Param("date") String date);

    /**
     * 直销省市排名（报表导出）
     *
     * @return list
     * @Param("WmsProvinceRankingReport")WmsProvinceRankingReport WmsProvinceRankingReport
     */
    public List<WmsProvinceRankingReport> baseselectbyprimaryExport(@Param("ceshi") DirectSellingProvincesAndCities ceshi);


    /**
     * 发运明细
     *
     * @param
     * @return List<WmsDeliveryDetails>
     */
    public List<WmsDeliveryDetails> Shippingdetails(@Param("Fpsj_start") String Fpsj_start, @Param("Fpsj_end") String Fpsj_end, @Param("ckid") String ckid, @Param("hzid") String hzid);

    /**
     * 发运明细报表导出
     *
     * @param
     * @return List<WmsDeliveryDetails>
     */
    public List<WmsDeliveryDetails> ShippingdetailsExport(@Param("WmsDeliveryDetails") WmsDeliveryDetails WmsDeliveryDetails);

    /**
     * 发运明细订单级别
     *
     * @param
     * @return List<WmsDeliveryDetails>
     */
    public WmsOrderChannel ShippingOrderLevel(@Param("ckid") String ckid, @Param("hzid") String hzid, @Param("id") String id);


    /**
     * 发运明细订单下多少个子节点
     *
     * @param
     * @return List<WmsDeliveryDetails>
     */
    public List<WmsDeliveryDetails> seachChildrenByFjd(@Param("fjd") String fjd);

    /**
     * 各渠道团队销售额订单量(已发货)
     *
     * @param
     * @return List<WmsDeliveryDetails>
     */
    public List<SalesChannelOrderStatusSummary> Allchannelteamshavebeenshipped(@Param("ckid") String ckid, @Param("hzid") String hzid, @Param("start_time") String start_time, @Param("End_time") String End_time, @Param("classa") String classa, @Param("classb") String classb, @Param("Ddqdid") String Ddqdid);

    /**
     * 各渠道团队销售额订单量（未发货）
     *
     * @param
     * @return List<WmsDeliveryDetails>
     */
    public List<SalesChannelOrderStatusSummary> AllChannelsAreNotShipped(@Param("ckid") String ckid, @Param("hzid") String hzid, @Param("start_time") String start_time, @Param("End_time") String End_time, @Param("classa") String classa, @Param("classb") String classb, @Param("Ddqdid") String Ddqdid);

    /**
     * 各渠道团队销售额订单量（全部订单）
     *
     * @param
     * @return List<WmsDeliveryDetails>
     */
    public List<SalesChannelOrderStatusSummary> OrderOfAllChannels(@Param("ckid") String ckid, @Param("hzid") String hzid, @Param("start_time") String start_time, @Param("End_time") String End_time, @Param("classa") String classa, @Param("classb") String classb, @Param("Ddqdid") String Ddqdid);

    /**
     * 各渠道团队销售额订单量（退单）
     *
     * @param
     * @return List<WmsDeliveryDetails>
     */
    public List<SalesChannelOrderStatusSummary> RefundOfVariousChannels(@Param("ckid") String ckid, @Param("hzid") String hzid, @Param("start_time") String start_time, @Param("End_time") String End_time, @Param("classa") String classa, @Param("classb") String classb, @Param("Ddqdid") String Ddqdid);

    /**
     * 订单状态级别查询
     *
     * @param
     * @return List<WmsDeliveryDetails>
     */
    public List<SalesChannelOrderStatusSummary> Querylevel(@Param("ckid") String ckid, @Param("hzid") String hzid, @Param("start_time") String start_time, @Param("End_time") String End_time);

    /**
     * 订单状态级别报表导出
     *
     * @param
     * @return List<WmsDeliveryDetails>
     */
    public List<SalesChannelOrderStatusSummary> QuerylevelExport(@Param("SalesChannelOrderStatusSummary") SalesChannelOrderStatusSummary SalesChannelOrderStatusSummary);
}
